#pragma once
#include "StdAfx.h"
class LightDesc
	:public ActorDesc
{
public:
	enum LightType
	{
		DirLight,
		SpotLight,
		PointLight
	};
	LightDesc();
	Vec3 Dir, Color;
	bool bOrbit;
	Vec3 Focus, OrbitVel;
	LightType Type;
	string TextureName;
};
class Light :
	public Actor
{
public:
	Light(LightDesc&);
	~Light(void);
	
	LightDesc::LightType Type;
	Vec3 Dir, Color;
	sptr<GameResource> Texture;
	sptr<Camera> GetCamera();
	bool bOrbit;
	Vec3 Focus, OrbitVel;
	virtual void Update(double dt);
	virtual void React(sptr<Actor>);
};

